Method, system and computer program product for facilitating an auction behavior and automatic bidding in an auction

ABSTRACT

One or more proxy bidders is associated with a rule which determines a time to place a bid. The proxy bidder places a bid at the determined time, instead of immediately after the bidder&#39;s prior bid is exceeded. Such rules may be selected for all proxy bidders to encourage a desired auction behavior. By controlling the placement of bids based on rules associated with the desired auction behavior, bids may be placed in a manner that seems natural and competitive to bidders in the auction when, in fact, they are placed in accordance with the selected rules. The desired auction behavior may be selected statically for an auction or dynamically during the auction. Historical auction data maybe analyzed to characterize the behavior of an auction, such as the average period of time between bids and the average increment between bids. Rules may be generated to correspond to a behavior so as to provide the same average time and increment between bids.

CROSS-REFERENCES TO RELATED APPLICATIONS

The present application claims the benefit of provisional U.S. PatentApplication Ser. No. 60/152,119 filed Sep. 2, 1999. The entire contentof this application is incorporated by reference herein.

BACKGROUND

Auctions for items may be held in many different ways. Bidders may bephysically present at one location or may be dispersed geographically.Bids may be submitted during a specified time in advance of the auction.Bidders may submit spoken bids, written bids or electronic bids, forexample over a computer or other communications network. Using such anetwork, an auction may be performed entirely online. In an onlineauction, a bidder may place bids manually or may use a proxy bidder,which places bids automatically on behalf of the bidder. An example ofan online auction with a proxy bidder is described in U.S. Pat. No.5,835,896 to Fisher et al.

Using a conventional proxy bidder, a bidder in an online auctionspecifies how bids should be placed. Typically, a proxy bidderdetermines a bid amount and places a bid for the bidder instantly afterthe proxy bidder detects that the previous bid is surpassed. Forexample, a proxy bidder may use a maximum desired amount for the itemand an increment to add to a previously placed bid. The proxy bidderplaces bids in the smallest increment needed to exceed the previous bid,until reaching the maximum amount specified by the bidder. In summary,if an auction is performed with proxy bidders, bidding occursunnaturally, quickly and early.

SUMMARY

The outcome of an auction, such as price and/or speed at which the itemis sold, depends in part on the way that bidders bid for the item. Inparticular, the behavior of one or more bidders in an auction mayinfluence another bidder's perception of the value of the item. Forexample, if one or more bidders place bids aggressively (e.g., bids areplaced frequently, subsequent bid prices increase significantly),perhaps due to the use of proxy bidders, another bidder's perceivedvalue of the item may be increased. However, proxy bidders maydiscourage bidders from participating in online auctions by making thebids appear automated and out of human control. Users also may becomefrustrated from, for example, being outbid instantly and may becomediscouraged from participation in the auction.

One or more proxy bidders is associated with at least one rule whichdetermines a time to place a bid. The proxy bidder places a bid inaccordance with the at least one rule at the determined time, which maybe different from the time immediately after the bidder's prior bid isexceeded by another's bid. Such rules may be selected for all proxybidders in an auction to encourage a desired auction behavior. Bycontrolling the placement of bids using rules associated with thedesired auction behavior, bids may be placed in a manner that seemsnatural and competitive to bidders in the auction even though they areplaced in accordance with selected rules. The desired auction behaviormay be selected statically for an auction or dynamically before and/orduring the auction. In one embodiment, historical auction data, such asthe average period of time between bids and the average incrementbetween bids, may be analyzed to characterize the behavior of anauction. Rules may be generated to correspond to a behavior so as toprovide the same average time and increment between bids.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a dataflow diagram of an example online auction system;

FIG. 2 is a diagram of an example auction server;

FIG. 3 is a diagram of an example table for a database of bidders;

FIG. 4 is a diagram of an example table for a database of sellers;

FIG. 5 is a diagram of an example table for a database of items;

FIG. 6 is a diagram of an example table for a database of behaviors andassociated rules;

FIG. 7 is a diagram of an example table for a database of specificationsfor proxy bidders;

FIG. 8 is a diagram of an example table for a database of informationabout an auction;

FIG. 9 is a flowchart describing how an auction is performed in oneembodiment;

FIG. 10 is a flowchart describing how an auction may be initialized;

FIG. 11 is a flowchart describing how a desired auction behavior may bedetermined;

FIG. 12 is a flowchart describing how bidders may be registered for anauction;

FIG. 13 is a flowchart describing how one or more proxy bidders may becreated;

FIG. 14 is a flowchart describing how one or more rules may be assignedto each proxy bidder;

FIG. 15 is a flowchart describing how bids for manual and proxy biddersmay be processed;

FIG. 16 is a flowchart describing how behavior of an auction may becharacterized;

FIG. 17 is a flowchart describing how the rule database may bedeveloped; and

FIG. 18 is a block diagram illustrating a relationship between processescorresponding to the flowchart of FIG. 9 and the databases of FIGS. 2-8,in one embodiment.

DETAILED DESCRIPTION

In one aspect of the present invention, a method for managing an auctioninvolves specifying an auction behavior, and specifying at least onerule for controlling when a bid may be placed automatically for a bidderaccording to the specified auction behavior. At least one bid for abidder may be placed automatically according to the at least one ruleand according to at least one specified bidding behavior. If the highestbid in the auction is not from the bidder, the bid may be placedautomatically according to the at least one specified bidding behaviorat a time according to the at least one rule. The specified biddingbehavior may be a maximum bid amount and a minimum bid increment. Anauction behavior may be specified by determining the auction behavioraccording to information about the auction, which may includeinformation about an item, information about a seller and/or informationabout bidders.

The auction behavior may be determined by receiving information aboutone or more pnor auctions, wherein each of the prior auctions has anassociated auction behavior, and identifying at least one of the priorauctions as similar to the auction based on the information about theauction and the information about the one or more prior auctions. One ormore of the prior auctions identified as similar to the auction then maybe selected. The auction behavior associated with the selected one ormore prior auctions may be as the auction behavior. At least one of theprior auctions similar to the auction may be identified by comparinginformation about the auction to the information about the one or moreprior auctions using a metric to obtain a measure, and comparing themeasure to a threshold defining an extent of similarity. The selectedone or more prior auctions may be one which has a best outcome among theat least one of the prior auctions identified as similar to the auction.A best outcome may be a highest price or a fastest sale.

A rule may be specified by associating at least one rule with at leastone candidate auction behavior from which the auction behavior isspecified, and selecting the at least one rule associated with thespecified auction behavior. At least one rule may be associated witheach candidate auction behavior by determining at least one rule thatcorresponds to each candidate auction behavior; and storing the at leastone rule in a database. A candidate auction behavior is a behavior of anauction similar to the current auction. At least one rule whichcorresponds to each candidate auction behavior may be determined bycharacterizing each candidate auction behavior, and selecting rulescorresponding to the candidate auction behavior.

In one embodiment, actual auction behavior may be evaluated according tobids received in the auction. The at least one rule for controlling whena bid may be placed automatically in the auction may be modifiedaccording to the actual auction behavior. The actual auction behaviormay be evaluated by characterizing the actual auction behavior accordingto bids received in the auction, and comparing the selected auctionbehavior to the actual auction behavior. The at least one rule may bemodified by selecting at least one alternative rule corresponding to theactual auction behavior, for example, by selecting the at least onealternative rule randomly from among a plurality of rules.

In another aspect, a computer program product includes a computerreadable medium with computer program instructions stored thereon,wherein the computer program instructions, when executed by a computer,direct the computer to perform the aforementioned method for managing anauction.

In another aspect, a system for managing an auction identifies anauction behavior, and identifies at least one rule for controlling whena bid may be placed automatically for a bidder in the auction accordingto the selected auction behavior.

In another aspect, a system for managing an auction includes an auctionbehavior selector and a rule generator. The auction behavior selectorprovides an indication of a selected auction behavior. The rulegenerator has an input for receiving an indication of the selectedauction behavior and an output for providing at least one rule forcontrolling when a bid may be placed automatically for a bidder in theauction to encourage the selected auction behavior. The auction behaviorselector may include a comparator and a selector. The comparator has aninput for receiving the information about the at least one prior auctionand information about the auction, and an output for providing anindication of at least one of the prior auctions similar to the auction.The selector has an input for receiving the indication of one or more ofthe prior auctions identified as similar to the auction and an outputfor providing an indication of the auction behavior associated with aselected one or more of the prior auctions.

In another aspect, a method for selecting an auction behavior for anauction, includes receiving information about the auction, and matchingthe information about the auction to an auction behavior. Theinformation about the auction may be matched to the auction behavior byreceiving information about one or more prior auctions, wherein each ofthe prior auctions has an associated auction behavior. At least one ofthe prior auctions is identified as similar to the auction using theinformation about the auction and the information about the one or moreprior auctions. One or more of the prior auctions identified as similarto the auction is then selected. The auction behavior associated withthe selected one or more prior auctions may be selected as the auctionbehavior. At least one of the prior auctions may be identified assimilar to the auction by comparing information about the auction to theinformation about the one or more prior auctions using a metric toobtain a measure. This measure may be compared to a threshold definingan extent of similarity. The selected one or more prior auctions may beone that has a best outcome among the at least one of the prior auctionsidentified as similar to the auction, for example by having a highestprice and a fastest sale.

In one embodiment, actual auction behavior may be evaluated according tobids received in the auction. The at least one rule for controlling whena bid may be placed automatically in the auction may be modifiedaccording to the actual auction behavior. The actual auction behaviormay be evaluated by characterizing the actual auction behavior accordingto bids received in the auction, and comparing the selected auctionbehavior to the actual auction behavior. The at least one rule may bemodified by selecting at least one alternative rule corresponding to theactual auction behavior, for example, by selecting the at least onealternative rule randomly from among a plurality of rules.

FIG. 1 illustrates an example online auction system for managing anauction. An auction is a public or private sale in which goods orservices of a seller may be sold to a bidder through a bidding process.There are many kinds of auctions which differ in the manner in whichbids are submitted and in the manner in which a bid is selected by theseller.

The online auction system in FIG. 1 includes an auction manager 100which receives bids 102, 103 from one or more bidders participating inone or more auctions. A bid is an offer from or on behalf of a bidder,and the bid includes an offered price for the good or service beingauctioned. The bid may specify an actual price or an amount relative tosome other price, such as a predetermined value greater than a previousbid price. The bids may be received by the auction manager 100 in any ofa number of ways, including, but not limited to, any data discernable bythe auction manager as a bid, such as a message in any format of anycomputer communication protocol. To process a bid, the auction serveruses an indication of the auction, the bidder and the bid price. A bidfrom a bidder may itself include any one or more of these pieces ofinformation. Any information that the auction server can infer or deriveneed not be included in the bid itself. Thus, a bid generally includesan indication of one or more of the auction, the bidder and the bidprice. The indication of the bidder may be any data indicative of anidentifier, such as a name, address, telephone number, email address,security number, credit card number, or other data that can identify thebidder in the system. Automatically and manually generated bids may bereceived by the auction manager 100. Automatically generated bids may bereceived from one or more bid generators 114, also referred to herein asproxy bidders, described below.

The auction manager 100 maintains information about current biddingstatus 104 for each auction. The information about the current biddingstatus typically includes at least the highest bid price, and optionallyan identifier of the highest bidder (the bidder that submitted the highbid, or on whose behalf the high bid was submitted). Informationdescribing a bidding time and/or a type of bidder (e.g., whether manualor automatic) also may be included. Other information about the auctionalso may be provided, including, but not limited to, an identifier ofthe item, start and end dates and times of the auction, a number ofbidders, and/or a minimum increment amount for a bid to exceed aprevious bid. The current bidding status 104 is accessible by bothmanual and proxy bidders to enable bidders to make another bid. Manualand proxy bidders may access the current bidding status 104 byrequesting information from the auction manager 100, or by reading theinformation from some storage location maintained by the auctionmanager, or by the auction manager sending the information to thebidder, or in any other manner appropriate given the implementation ofthe auction manager and/or proxy bidders.

Each bid generator 114 receives data specifying at least part of itsbidding behavior. The bidding behavior indicates how the bid generator114 generates a new bid from a current bid. The data specifying thebidding behavior may, in one embodiment, include a maximum bid price 120and an increment value 122. The maximum bid price 120 indicates themaximum price which the bidder associated with the proxy bidder iswilling to bid for an item. The increment value 122 is the amount bywhich the bid must exceed a previous bid. The increment value 122 may bedefined for all bidders in the auction through the auction server, forexample, by an individual or by the auction server itself.Alternatively, the bidder may specify his own increment value to be usedby the corresponding bid generator. Any suitable interface, such as anHTML form, may be used to permit a bidder to specify the biddingbehavior of the proxy bidder. Using the current bidding status 104, thebid generator generates the bid 102 according to the specified biddingbehavior. In general, the bid generator adds the increment value 122 tothe bid price of the previous bid to yield the bid price of the new bid.The bid price of the new bid may not exceed the maximum bid 120. If thehighest bid price received during the auction exceeds the maximum bidprice 120, then no bid is placed and/or the actual bidder is notified insome manner (e.g., using electronic mail) that his maximum bid price hasbeen exceeded.

One or more rules 112 may be applied to determine, for example, when thebid is to be placed. Accordingly, the bid is not necessarily placedimmediately after the bid generator 114 detects that a previouslysubmitted bid price has been exceeded by another bidder. A rule appliedby the bid generator 114 may be obtained from many sources. A rule maybe specified by the bidder, by the auction system, by the seller, or anycombination thereof. A rule may be created or may be selected from apredetermined list.

A rule specifies at least one condition (also called an “antecedent” or“predicate”) and at least one consequent, which may include an action tobe performed. A rule also may have an activator (also called a triggeror event), which causes the bid generator 114 to apply the rule. A ruleis applied by determining whether its condition is true. If thecondition is determined to be true, the consequent occurs, e.g., thespecified action is performed. Typically, the action performed isplacing a bid having a bid price that is higher than the current highbid price by a specified increment.

A condition may be specified as, for example, an amount of time that haspassed and/or a number of bids that have been submitted. Additionally oralternatively, a condition may be specified using other informationabout the auction, such as the current price. A trigger similarly may bespecified as, for example, an amount of time that has passed and/or anumber of bids that have been submitted, or by some other event in theauction, such as an auction server indicating to the proxy bidder thatit will accept a bid from the proxy bidder.

Both conditions and triggers may be specified using similar information;however, a condition is evaluated by a proxy bidder, whereas a triggercauses the proxy bidder to apply a rule. The specification of conditionsand triggers to define a bidding behavior depends on implementation ofthe proxy bidder and coordination of information exchange between theauction server and the proxy bidder. Unless otherwise specified herein,therefore, the term condition encompasses triggers, except for triggersthat specify only that the most recent bid from the proxy bidder isexceeded by a bid from another bidder or that are only a result ofcoordination by the auction server of acceptance of bids from proxybidders.

As noted above, a condition generally may be specified using informationabout the auction or time or other information to determine when a bidmay be placed by the proxy bidder. For example, a condition may bespecified by a fixed amount of time or a variable amount of time. Thevariable amount of time may be a function of, for example but notlimited to, the amount of time left in the auction, whether the auctionhas been extended, the rate at which bids are placed in the auction, orthe current price of the item. A condition also may be specified by afixed number of bids, e.g., one, or a variable number of bids. Thevariable number of bids may be a function of, for example, the amount oftime left in the auction, whether the auction has been extended, therate at which bids are placed in the auction, or the current high bidprice for the item. A condition also may be specified by a ratio betweena number of bids and an amount of time, which may be fixed or variable.Conditions also may be specified using any other information about theauction, such as who placed the last bid, number of bidders in theauction, etc.

Some example rules include, but are not limited to, placing a bid:

1. periodically at a predetermined time after a previous bid is placed,e.g., five minutes after a previous bid is placed;

2. periodically at a predetermined time after the auction has begun,e.g., every five minutes starting from one hour after the beginning ofthe auction;

3. according to a frequency of a predetermined number of previous bids,e.g., if the past five bids have occurred within twenty minutes, theproxy bid is placed within five minutes of the last bid; if the pastfive bids have occurred within one hour, the proxy bid is placed withinfifteen minutes of the last bid;

4. after waiting a random amount of time after a previous bid is placed;

5. according to a bid price achieved by the last bid, e.g., if the highbid price exceeds a predetermined amount, the bid is placed more (orless) quickly;

6. according to an amount of time left in the auction, e.g., the bid isplaced more (or less) quickly near the end of the auction;

7. at a predetermined time before the end of auction;

8. more or less quickly if the auction is going to be extended;

9. after a minimum number of bids is placed previously, e.g., the bid isplaced after three other bids have been placed.

Many kinds of rules can be provided, and the invention is not limited toany particular rules. Rules also may be related to bidding by manualbidders. For example, the speed at which manual bids are placed maydetermine how the proxy bids are placed. Rules also may be specified atthe beginning of an auction, but their application may be delayed untila specified action has occurred. One or more rules also may be specifiedfor one or more proxy bidders to facilitate a desired auction behavior.An auction behavior is a manner in which bids in an auction are placed,for example, the times at which they are placed, the frequency withwhich they are placed, and the amount by which they exceed any previousbid. Generally, a desired auction behavior is an auction behavior thathas a likelihood to provide the best beneficial outcome. The desiredauction behavior is selected, by the seller, by an auctioneer orautomatically, so as to improve or optimize the outcome of the auction,such as price at which and/or speed with which the item is sold, orother beneficial outcome for a party, whether seller, bidder orauctioneer.

An auction behavior selector 106 may be used to select a desired auctionbehavior 108. For example, the auction behavior selector may use one ormore of the current bidding status 104, current information about thecurrent auction 116, and/or information about past auctions 118. Forexample, the auction behavior selector may identify a prior auction thatis most similar to the current auction, and select the auction behaviorof that prior auction as the desired auction behavior. Similarity may bedetermined by comparing one or more values associated with the auctions,using any suitable similarity or distance metric to obtain a measure ofsimilarity. A measure computed using a similarity metric generallyincreases with increased similarity of the compared items. A measurecomputed using a distance metric generally decreases with increasedsimilarity of the compared items. Many kinds of metrics may be used,including Hamming distance, correlation, Euclidean distance and othermetrics. The invention is not limited by any particular similarity ordistance metric. One or more thresholds may be defined to which thismeasure may be compared to indicate an extent of similarity. An exampleimplementation of an auction behavior selector 106 is described in moredetail below.

Given a desired auction behavior, a rule selector 110 may select one ormore rules 112, one or more of which may be applied to one or more proxybidders in the manner described above. In general, the rule generatormay associate one or more rules with each auction behavior, and providean indication of such rules, given the desired auction behavior.

An example implementation of an online auction system will now bedescribed in connection with FIGS. 2-9.

The auction behavior selector 106, auction manager 1 00, rule generator110 and one or more bid generators 114 all may be present and operatingon one or more computers or other devices acting as a server computerfor the auction. This server computer, herein called an auction server,may be accessed by one or more computers or other devices used bysellers, and one or more computers or other devices used by bidders inany manner known in the art (e.g., via the Internet).

The auction server 200 may include one or more communication ports 202,one or more processors 204, an internal data and time clock 206, andstorage 208 which includes one or more computer programs 222 defininginstructions, which when executed, instruct the computer to perform theoperations of the auction behavior selector, rule generator, auctionmanager and bid generator. The storage also may include a bidderdatabase 210, seller database 212, item database 214, rules database216, proxy bid database 218 and auction database 220. These programs andthese databases will now be described in more detail in connection withFIGS. 3-8.

FIG. 3 illustrates an example table 300 for a bidder database, whichincludes one or more records 302. In general, each record associates abidder identifier 304 with a payment identifier 312 and optionally,additional information about the identified bidder. In this example,each record 302 includes a bidder identifier 304, name 306, mailingaddress 308, email address 310 and payment identifier 312. Entries inthis database are made as users register with the auction server asdescribed below. After a bidder registers for an auction for an item, alist corresponding items identifiers also may be stored in this entryfor a bidder.

FIG. 4 illustrates an example table 400 for a seller database, whichincludes one or more records 402. In general, each record associates aseller identifier 404 with one or more associated item identifiers 412and optionally, additional information about the seller. Exampleadditional information about the seller includes a name 406, an emailaddress 408, and a payment identifier 410. Entries in this database aremade and updated as sellers register items to be auctioned, as describedbelow.

FIG. 5 illustrates an example table 500 for an item database, whichincludes one or more records 502, with one record for each item beingauctioned. In general, each record associates an item identifier 504with an item description 506 and optionally additional information suchas an item category 508. The item description may be a textualdescription, list of features or any other information that serves todescribe the item and/or enable a comparison of the item to other items.A selling price 510 also may be stored. Each item may have an associatedbehavior identifier 512, which indicates the auction behavior used forthe auction of that item. A list of registered bidders also may bestored. Entries in this database are made and updated as sellersregister items for auction, when a behavior is assigned to an auctionand when an auction ends.

FIG. 6 illustrates an example table 600 for a rule database, whichincludes one or more records 602. This rule database may be used by therule selector 110 of FIG. 1. Each record 602 in the rule databaserelates a behavior identifier 604 with a rule identifier 606. Eachbehavior also may have an associated description 608 that provides aprose description of the behavior. Similarly, each rule may have anassociated description 610 that provides a prose description of therule. Although the example table 600 illustrates one specific ruleassociated with each behavior, each behavior may be associated with oneor more rules. The one or more rules may be specific or may includevariables that are assigned different values for different proxybidders. How behaviors may be associated with rules is described in moredetail below.

FIG. 7 illustrates an example table 700 for a proxy bidder database thatstores information about proxy bidders. This table includes one or morerecords 702, wherein each record includes a bidder identifier 704 and anitem identifier 706 or other identifier of the auction. A proxy bidderalso may have an associated rule identifier 708, which refers to arecord in the rule database, and a bid ceiling, or maximum bid 710. Thisinformation enables the auction server to control the operation of allproxy bidders at a central location.

FIG. 8 illustrates an example record 800 from an auction database. Thisdatabase stores information about present and past auctions. In theexample shown in FIG. 8, a record 800 may include an item identifier802, an auction start date and time 804, an auction end date and time806, a current number of participating bidders 808 and a bid incrementamount 810. The number of bidders may be inferred from a list of biddersassociated with this item stored in either field 808 of this table 800or in the item database. A list 812 includes one or more entries 814,wherein each entry associates a bidder 816 with a bid amount 818, abidding time 820 and a type 822 of the bidder.

Each database may be any kind of database, including a relationaldatabase, object-oriented database, unstructured database or otherdatabase. Example relational databases include Oracle 8i from OracleCorporation of Redwood City, Calif., Informix Dynamic Server fromInformix Software, Inc. of Menlo Park, Calif., DB2 from InternationalBusiness Machines of Yorktown Heights, N.Y., and Access from MicrosoftCorporation of Redmond, Wash. An example object-oriented database isObjectStore from Object Design of Burlington, Mass. An exampleunstructured database is Notes from the Lotus Corporation, of Cambridge,Mass. A database also may be constructed using a flat file system, forexample by using files with character-delimited fields, such as in earlyversions of dBASE, now known as Visual dBASE from Inprise Corp. ofScotts Valley, Calif., formerly Borland International Corp.Notwithstanding these possible implementations of the foregoingdatabases, the term database as used herein refers to any data that iscollected and stored in any manner accessible by a computer.

Having now described the databases maintained by the auction server inthis embodiment, the various operations performed by the auction serverwill now be described. Referring to FIG. 9, these operations include,but are not limited to, initializing (900) an auction by receivinginformation from a seller about the seller and the item to be offeredfor sale, determining (902) a desired auction behavior for an auction,registering (904) bidders for an auction, creating (906) a proxy bidderfor a registered bidder, assigning (908) bidding rules to proxy bidders,and processing (910) bids received from bidders. Optionally, thebehavior of the auction also may be characterized (912). During theauction, the actual auction behavior and the desired auction behaviorare different, the rules may be updated to effect the desired auctionbehavior. The various operations in FIG. 9 need not be performedsequentially or in the order shown. These various operations will now bedescribed in more detail.

Referring to FIG. 10, to initialize an auction, information about theseller and the item to be auctioned is received (1000) from the sellerby the auction server. Information about the seller, in an embodimentusing the database structure described above, may include a seller name,email address, and payment identifier. Information about the item mayinclude a description of the item and a category. Any conventionalregistration process and mechanism may be used to obtain thisinformation from a seller. The seller information and the iteminformation may be provided separately and at different times, enablingthe seller to register once, but offer multiple items for auction atdifferent times.

Records in the seller information database of FIG. 4 and the iteminformation database of FIG. 5 are created or updated (1002) using thereceived information. In particular, the auction server associates aseller identifier with the seller information and an item identifierwith the item. A record for the seller is created in the seller databaseand for the item in the item database, “linked” by the item identifier.The selling price (510 in FIG. 5) for the item is set to an arbitraryinitial value.

A table 800 (FIG. 8) for the auction is then created (1004), which isassociated to the item database through the item identifier (802 in FIG.8). The auction start time 804 and end time 806 may be specified by theseller or the auction server. The current number of participatingbidders 808 is initially set to zero. The bid increment amount may beset by the auction server, by a third party through the auction server,or by the seller. An initial bid amount also may be provided and storedin an entry 814 in the list 812.

Referring to FIG. 1, after initializing the auction, a desired auctionbehavior may be determined for the auction. The selection of a desiredauction behavior, from which the rules for proxy bidders may begenerated, generally is performed by receiving information about theauction and matching this information about the auction to a behaviorthat is likely to provide the best beneficial outcome. This matching maybe performed in many ways. For example, matching the auction to abehavior may involve receiving (1100) information about one or moreprior auctions, wherein each prior auction has an associated auctionbehavior. At least one of the prior auctions is identified as similar tothe current auction. For example, the information about the auction,such as the item description, item category, seller information and/orinformation in the auction database (FIG. 8), may be compared (1102) tothe information about the one or more prior auctions. One or more of theprior auctions identified as similar to the current auction is thenselected (1104). Typically, the prior auction that is selected is theauction that has the best beneficial outcome among the prior auctionsidentified as similar to the current auction. For example, the auctionthat is selected may be the auction with the highest price, or fastestsale, or other beneficial outcome. Because the selected prior auction isassociated with an auction behavior, for example, through the databaseof FIG. 5, the auction behavior of that selected prior auction now maybe used for the current auction. An identifier and description of theidentified behavior is stored (1106) in the database shown in FIG. 5.

Referring to FIG. 12, after initializing the auction, bidders mayregister to participate in the auction. Bidders may register prior to adesired auction behavior being selected for the auction. Informationabout the bidder is received (1200) by the auction server. Informationabout the bidder, in an embodiment using the database structuredescribed above, may include a name, mailing address, email address,and/or payment identifier. Any conventional registration process andmechanism may be used to obtain this information from a bidder.

Records in the bidder database of FIG. 3 are created or updated (1202)using the received information. In particular, the auction serverassociates a bidder identifier with the bidder information, and a recordfor the bidder is created in the bidder database. Entries in a bidderdatabase, such as is shown in FIG. 3, may be created and updatedseparately for each auction. Bidders also may register with the auctionserver separately from registering to participate in an auction. In thisembodiment, records may be created and updated in the bidder databaseindependently of the auctions. The bidder's information is associated(1204) with the auction in any of the ways described above.

Referring to FIG. 13, at any time before or during the auction, andafter the selection of the desired auction behavior, a registered biddermay create and/or modify a proxy bidder. Information specifying thebidding behavior of the proxy bidder is received (1300) from the bidderby the auction server. Such information, in an embodiment using thedatabase structure described above, may include a maximum bid and anindication of the item or auction for which the proxy bidder is to beused. The identity of the bidder may be determined through anyconventional authentication process or mechanism, possibly using thebidder database of FIG. 3. A corresponding record is then created orupdated ( 1302) by the auction server in a proxy bidder database, suchas shown in FIG. 7.

Referring to FIG. 14, when a proxy bidder is created, the auction serveralso associates one or more rules with the proxy bidder to effect thedesired auction behavior. These rules may be assigned statically ordynamically to the proxy bidder. In an embodiment using the databasestructure described above, using the item identifier, the selecteddesired auction behavior for the auction is retrieved (1400) from theitem database (FIG. 5).

A rule identifier associated with the desired auction behavior isselected (1402) from the rule database in FIG. 6. In general, theassignment of the bidding rules to proxy bidders is coordinated so thatthe desired auction behavior is achieved. A rule may be selectedsequentially or randomly for each proxy bidder from the rules associatedwith the desired auction behavior. The one or more rules may bespecified such that the condition includes a variable that is assigneddifferently for each proxy bidder. The variable may have a range ofcandidate values, from which a particular value for a rule for a proxybidder is selected. The rule generator may take various otherinformation into account to assign rules. For example, the bid ceilingof each bidder, the length of the auction and the number of bidders maybe used to select a rule. An implementation for creating the ruledatabase of FIG. 6 is described in more detail below in connection withFIG. 17. The selected rule identifier is stored (1404) in the proxybidder database (708), associated with the identifier of the bidder whocreated the proxy bidder and the item identifier.

Referring to FIG. 15, after registration of a seller, an item, andbidders, and after initialization of the auction information, bidding inan auction may commence at or after the specified auction start time.During the auction, the auction server receives (1500) both manually andautomatically generated bids. Conflicting bids may be processed in anyappropriate manner, using any conventional process or mechanism. Ifproxy bidders are implemented by the auction server, coordination by theauction server of bids from proxy bidders with the receipt of bids frommanual bidders may be performed using any conventional process ormechanism, as described below. For each bid that is received, if the bidcomplies with the auction rules, as determined at 1502, entry 814corresponding to the bid is added (1504) to table 800 (FIG. 8),including the identifier of the bidder, the bid amount, the time atwhich the bid was placed and the type of bidder (whether manual orproxy). A bid that does not comply with the auction rules may berejected (1506) by the auction server. After a bid is processed, if theauction is not over, as determined at 1508 by comparing the current timeto the auction end date/time 808 (FIG. 8), more bids may be received(1500). Also, as noted above, any time during the auction, the behaviorof the auction may be characterized (such as described below inconnection with FIG. 16) and rules associated with the proxy bidders maybe modified. If the auction is over, the selling price maybe stored(1510) in the item database (510 in FIG. 5).

The operation of a proxy bidder may be initiated in many ways, and atmany times. For example, each proxy bidder may be evaluated by theauction server after each bid is placed, or after each period of timehas passed. The auction server may determine whether each proxy biddercould place a bid, for example, by determining whether any prior bid wasexceeded and whether the maximum bid was exceeded. If the proxy biddercould place a bid, its associated rule is applied. If the conditions ofthe rule are satisfied, then a new bid is submitted for the proxy bidderto the auction manager. A bid from each proxy bidder may be computed andsubmitted, e.g., in sequence, in parallel, in a round-robin manner or inany other manner desirable.

Alternatively, a proxy bidder may be separate program, for exampleexecuted on a client machine, or may be one or more separate threads ofa program executed by the auction server, or may be an autonomous orsemiautonomous agent. If proxy bidders are not centrally controlled, asin these embodiments, the database of data shown in FIG. 7 may beomitted. In this embodiment, a bid from a proxy bidder is handled by theauction server as if it were a manually submitted bid.

If proxy bidders are centrally controlled, proxy bidders may be delayedin submitting proxy bids for long enough to prompt the manual bidders tocreate proxy bidders near the end of an auction. This notification wouldenable manual bidders to continue participating in the auction and mayhelp increase the purchase price of the item.

After a number of bids has been received in an auction, whether duringor after the auction, the behavior of the auction may be characterized,as noted at 912 in FIG. 9. Referring to FIG. 16, how such acharacterization of the behavior of an auction may be derived from dataabout the actual bidding information in the auction will now bedescribed. For example, the auction behavior may be characterized usingthe frequency with which bids were placed, and amounts by which bidsexceeded any previous bids in the auction. Various mathematicalprocesses may be applied to the data to determine this and otherinformation that may characterize the behavior of the auction. Forexample, in an embodiment using a database such as shown in FIG. 8, thetotal number of bids is computed (1600). The amount of time between thefirst bid and the last bid is computed (1602). The difference betweenthe first bid and the last bid is computed (1604). From thisinformation, an average frequency and increment may be determined.

Other historical data which may be used to characterize the behavior ofan auction includes information about the bidders, such as the bidder'shistory with the auction server, including, but not limited to, how manyitems the bidder has bid for an item, how much money has been spent bythe bidder and the auction behavior that enticed the bidder to bidaggressively or spend the most amount of money. The time of the year theauction was conducted also may be relevant. Auctions also may becompared to determine which behaviors are associated with the bestoutcomes among a set of similar auctions. In this manner, the auctionserver collects data about kinds of behaviors that produce the bestoutcomes in various auctions.

If the behavior of the current auction is characterized during theauction, the behavior of the current auction may be compared to thedesired auction behavior to determine whether the desired auctionbehavior is being achieved. The rule assignments then may be changeddynamically during the auction depending on whether the desired auctionbehavior is being achieved. For example, if the desired auction behavioris to have bids occurring every five minutes, with and average incrementof two dollars, and the actual behavior has bids occurring every twominutes, the proxy bidders rules may be changed so as to increase theaverage amount of time between proxy bids.

Referring now to FIG. 17, how a desired auction behavior is associatedto rules, which are selected and assigned to the proxy bidders, will nowbe described. In particular, as noted above, one or more rules may beassociated with an auction behavior, which is defined. A specificationof the desired auction behavior is received (1700), for example, as anaverage bidding frequency and average bidding increment. The averagebidding frequency and average bidding increment are used to define(1702) one or more variables. These variables may have a range ofcandidate values defined from actual auction behaviors. A singlevariable rule may be specified, with the range of candidate values, andstored in the rule database, from which specific rules may be derived asrules are assigned to proxy bidders. Alternatively, multiple specificrules may be specified (1704). The defined rules, whether general orspecific, are stored in the rule database, associated with the desiredauction behavior.

Referring now to FIG. 18, a block diagram of the activities described inFIGS. 9-17 and how they interact with the databases of FIGS. 3-8 willnow be described. As indicated at 1800, initialization of the auctionuses the seller database 1802, item database 1804 and auction database1806. Selection 1808 of a desired auction behavior uses at least theitem database 1804 and the auction database 1806. Registration 1810 ofthe bidder uses the bidder database 1812, and optionally the itemdatabase 1804 or the auction database 1806 to associate the bidder withthe auction. Creation or modification 1814 of a proxy bidder for abidder uses the proxy bidder database 1816. The bidder database 1812 anditem database 1804 may be used for verification purposes. Assignment1818 of rules uses the item database 1804, rule database 1820 and theproxy bidder database 1816. Processing 1822 of bids uses the proxybidder database 1816, item database 1804 and auction database 1806.Characterization 1824 of an auction uses the auction database 1806 andmay use the rules database 1820. Creation 1826 of the rules database1820 uses the auction database 1806, and other information as desired.

A computer system with which the various elements of the auction systemof FIG. 1 and/or FIG. 18 may be implemented either individually or incombination typically includes at least one main unit connected to bothan output device which displays information to a user and an inputdevice which receives input from a user. The main unit may include aprocessor connected to a memory system via an interconnection mechanism.The input device and output device also are connected to the processorand memory system via the interconnection mechanism.

One or more output devices may be connected to the computer system.Example output devices include cathode ray tubes (CRT) display, liquidcrystal displays (LCD) and other video output devices, printers,communication devices such as a modem, storage devices such as a disk ortape, and audio output. One or more input devices may be connected tothe computer system. Example input devices include a keyboard, keypad,track ball, mouse, pen and tablet, communication device, and data inputdevices such as audio and video capture devices. The invention is notlimited to the particular input or output devices used in combinationwith the computer system or to those described herein.

The computer system may be a general purpose computer system which isprogrammable using a computer programming language, such as C, C++,Java, or other language, such as a scripting language or even assemblylanguage. The computer system may also be specially programmed, specialpurpose hardware, or an application specific integrated circuit (ASIC).The bidder's device also may be a pager, telephone, personal digitalassistant or other electronic data communication device.

In a general purpose computer system, the processor is typically acommercially available processor, of which the series x86 and Pentiumseries processors, available from Intel, and similar devices from AMDand Cyrix, the 680×0 series microprocessors available from Motorola, thePowerPC microprocessor from IBM and the Alpha-series processors from theformer Digital Equipment Corporation, and the MIPS microprocessor fromMIPS Technologies are examples. Many other processors are available.Such a microprocessor executes a program called an operating system, ofwhich WindowsNT, Windows 95 or 98, IRIX, UNIX, Linux, DOS, VMS, MacOSand OS8 are examples, which controls the execution of other computerprograms and provides scheduling, debugging, input/output control,accounting, compilation, storage assignment, data management and memorymanagement, and communication control and related services. Theprocessor and operating system defines computer platform for whichapplication programs in high-level programming languages are written.

A memory system typically includes a computer readable and writeablenonvolatile recording medium, of which a magnetic disk, a flash memory,and tape are examples. The disk may be removable, known as a floppydisk, or permanent, known as a hard drive. A disk has a number of tracksin which signals are stored, typically in binary form, i.e., a forminterpreted as a sequence of one and zeros. Such signals may define anapplication program to be executed by the microprocessor, or informationstored on the disk to be processed by the application program.Typically, in operation, the processor causes data to be read from thenonvolatile recording medium into an integrated circuit memory element,which is typically a volatile, random access memory such as a dynamicrandom access memory (DRAM) or static memory (SRAM). The integratedcircuit memory element allows for faster access to the information bythe processor than does the disk. The processor generally manipulatesthe data within the integrated circuit memory and then copies the datato the disk after processing is completed. A variety of mechanisms areknown for managing data movement between the disk and the integratedcircuit memory element, and the invention is not limited thereto. Theinvention is not limited to a particular memory system.

Such a system may be implemented in software or hardware or firmware, orany combination thereof. The various elements of the system, eitherindividually or in combination may be implemented as a computer programproduct tangibly embodied in a machine-readable storage device forexecution by a computer processor. Various steps of the process may beperformed by a computer processor executing a program tangibly embodiedon a computer-readable medium to perform functions by operating on inputand generating output. Computer programming languages suitable forimplementing such a system include procedural programming languages,object-oriented programming languages, and combinations of the two.

The invention is not limited to a particular computer platform,particular processor, or particular high-level programming language.Additionally, the computer system may be a multiprocessor computersystem or may include multiple computers connected over a computernetwork. Various possible configurations of computers in a networkpermit many users to participate in an auction, even if they aredispersed geographically.

Each module or step shown in the accompanying figures and the substepsor subparts shown in the remaining figures may correspond to separatemodules of a computer program, or may be separate computer programs.Such modules may be operable on separate computers or other devices. Thedata produced by these components may be stored in a memory system ortransmitted between computer systems or devices. The plurality ofcomputers or devices may be interconnected by a communication network,such as a public switched telephone network or other circuit switchednetwork, or a packet switched network such as an Internet protocol (IP)network. The network may be wired or wireless, and may be public orprivate.

Having now described a few embodiments, it should be apparent to thoseskilled in the art that the foregoing is merely illustrative and notlimiting, having been presented by way of example only. Numerousmodifications and other embodiments may be made. For example, rules maybe applied in order to test their effect when placed at specific timesduring an auction. Rules to be applied to proxy bids also may bespecified by the bidder of the item. Such capability may provide thebidder influence on how other bidders behave in the auction, and providemore feeling of control. A bidder may be required to pay for thisservice. In addition, when proxy bidders are bidding in the last momentsof an auction against manual bidders, the auction server could delaysubmitting proxy bids for long enough to prompt the manual bidders tosubmit bid ceilings so that they have a chance of remaining in theauction. This notification would enable manual bidders to continueparticipating in the auction and may help the item be purchased for ahigher price, thus benefiting the auctioneer and the seller of the item.The notification may be available only for an additional cost ifdesired.

1-58. (canceled)
 59. A computer program product, comprising: a computerreadable medium; and computer program instructions stored on thecomputer readable medium, wherein the computer program instructions,when executed by a computer, direct the computer to perform a method forspecifying a rule for automatic bids in an auction, comprising:receiving an indication of a selected auction behavior; and matching theauction behavior to rules to encourage the auction behavior.
 60. Amethod for automatically placing a bid for an item for a bidder in anauction, comprising: determining whether a bid for the bidder may beaccepted; applying a rule associated with the bidder and having acondition specifying when to place a bid; and if the condition of therule is satisfied, and if a highest bid in the auction is not from thebidder, and if a bid for the bidder may be accepted, placing the bidaccording to a specified bidding behavior.
 61. The method of claim 60,wherein the condition is defined by information about the auction. 62.The method of claim 61, where the information about the auction includesat least one of a number of bids subsequent to a previous bid by thebidder and a period of time elapsed since the previous bid by thebidder.
 63. The method of claim 61, wherein the information about theauction includes at least one of information about bidders participatingin the auction, information about bidders registered for the auction,information about status of the auction, and information about the item.64. A system for automatically placing a bid for an item for a bidder inan auction, comprising: means for evaluating a rule associated with thebidder and having a condition specifying when to place a bid; and means,operative if the condition of the rule is satisfied and if a highest bidin the auction is not from the bidder and if a bid may be accepted forthe bidder, for submitting the bid according to a specified biddingbehavior.
 65. A system for automatically placing a bid for an item for abidder in an auction, comprising: a rule application engine having anoutput indicative of when to place a bid according to a rule associatedwith the bidder and having a condition specifying when to place a bid;and a bid generator, having a first input for receiving a specifiedbidding behavior and having an output for providing, when a time toplace the bid arrives, an indication of a bid according to the specifiedbidding behavior if a highest bid in the auction is not from the bidderand if a bid may be accepted for the bidder.
 66. A computer programproduct, comprising: a computer readable medium; and computer programinstructions stored on the computer readable medium, wherein thecomputer program instructions, when executed by a computer, directs thecomputer to perform a method for automatically placing a bid for an itemfor a bidder in an auction, the method comprising: determining whether abid for the bidder may be accepted; applying a rule associated with thebidder and having a condition specifying when to place a bid; and if thecondition of the rule is satisfied, and if a highest bid in the auctionis not from the bidder and if a bid for the bidder may be accepted,placing the bid according to a specified bidding behavior.
 67. A digitalinformation product, comprising: a computer-readable medium; andinformation stored on the computer-readable medium and defining dataassociating at least one desired auction behavior to at least one rulefor controlling when a bid may be placed automatically for a bidder inan auction.
 68. A digital information product defining a proxy bidder,comprising: a computer-readable medium; information stored on thecomputer-readable medium and defining data associating a maximum bid anda bidder with an indication of a rule for controlling when a bid may beplaced automatically for a bidder in an auction.